const man = {
    name:'jscoder',
    age:22
  }

//   console.log(man.name)
//   //补全代码
//   const proxy = new Proxy(...)
//   proxy.name  // "jscoder"
//   proxy.age   // 22
//   proxy.location  // Property "$(property)" does not exist

// const proxy = new Proxy(man,{
//     get(target, key){
//         if(key in target){
//             console.log(target[key]) 
//         }else{
//             console.log(`Property "${key}" does not exist`) 
//         }
//         return target[key]
//     },
//     set(target, key, newValue){
//         target[key] = newValue
//     }
// })

// proxy.name
// proxy.age
// proxy.location



///////////////////////////////////////////
//红灯三秒亮一次, 绿灯一秒亮一次, 黄灯2秒亮一次
//如何让三个灯不断交替重复亮灯
//   function red () {
//     console.log('red')
//   }
//   function green () {
//     console.log('green')
//   }
//   function yellow () {
//     console.log('yellow')
//   }

//   const delayLight = (cb, time) =>{
//       return  new Promise((resolve)=>{
//             setTimeout(()=>{
//                 cb()
//                 resolve()
//             },time)
//       })
//   }

//   var User = {
//     count:1,
//     action:{
//     getCount:function () {
//         console.log(this)
//       return this.count
//       }
//     }
//  }
//  var getCount = User.action.getCount;
//    setTimeout(() => {
//    console.log("result 1",User.action.getCount())
//  })
//  console.log("result 2",getCount())

//执行时序

function testTime () {
  console.log('1')

  setTimeout(()=>{
    console.log('5')
  },0)
  
  const promise = new Promise((resolve, reject) => {
    console.log('3')
    resolve()
  })
  
  promise.then(value=>{
    console.log('4')
  })
  
  console.log('2')
}

testTime()
// 1
// 3
// 2
// 4
// 5
